Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: M340 и Ethernet (modbus Tcp)
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
CoDa
Первый раз сталкиваюсь с этой системой, помогите плз (лучше семплом)

Задача.
1. Получить данные с другого оборудования по modbus TCP
2. отдать данные другому устройству по modbus TCP
Контроллер modicon m340 BMX P34 2020? причем реализовать надо все через встроенный ethernet port
Перерыл весь форум, но либо com, либо с помощью NOE модуля
FullJuice
1 способ.
Выставить IP-адрес крутилками сзади процессорного модуля. Подключиться через выставленный IP-адрес.

2 способ.
Создать подключение в Unity, прописав требуемый адрес. Отправить программу на ПЛК посредством USB-подключения. После того, как программа с заложенным IP-адрессом окажется на ПЛК, можно перейти на Ethernet подключение.
san
Тут что-то было http://se-automation.in.ua/2011/06/transpa...modbus-tcp.html
CoDa
Цитата(FullJuice @ 3.6.2013, 17:03) *
1 способ.
Выставить IP-адрес крутилками сзади процессорного модуля. Подключиться через выставленный IP-адрес.

2 способ.
Создать подключение в Unity, прописав требуемый адрес. Отправить программу на ПЛК посредством USB-подключения. После того, как программа с заложенным IP-адрессом окажется на ПЛК, можно перейти на Ethernet подключение.


К контроллеру подключился Все касается уже программирования
FullJuice
Если все внешние проводки уже готовы и конфигурация контроллера завершена:

1. Создать переменные (входные/выходные/внутренние);
2. Прописать адреса переменных;
3. Создать программы для обработки входных/выходных переменных.

Это интересует?
CoDa
Цитата(FullJuice @ 3.6.2013, 17:23) *
Если все внешние проводки уже готовы и конфигурация контроллера завершена:

1. Создать переменные (входные/выходные/внутренние);
2. Прописать адреса переменных;
3. Создать программы для обработки входных/выходных переменных.

Это интересует?


Да и часть из них должны читаться по modbus tcp\ip SCADA системой
А часть надо получать с весов тоже по modbus tcp\ip
т.е. Контроллер должен быть и клиентом и сервером
FullJuice
https://sites.google.com/site/fieldbusbook/...y-bystryj-start
От пользователя san. Выполнив этот "Быстрый старт", всё станет понятно.
CoDa
Цитата(FullJuice @ 3.6.2013, 18:35) *
https://sites.google.com/site/fieldbusbook/...y-bystryj-start
От пользователя san. Выполнив этот "Быстрый старт", всё станет понятно.

Спасибо завтра попробую

ток остался еще вопрос, получать данные вроде как прояснилось, а от куда читать данные другим устройством? (использование в качестве слайва)
san
Тут что-то накидал
CoDa
Цитата(san @ 3.6.2013, 21:53) *

сейчас все попробую и отпишусь
CoDa
Все сделал, при компиляции выдает ошибку:

(l: 13, c: 50) E1208 usage of dynamic arrays is disabled

Цитата


Вот нашел тоже от тебя на другом форуме, огромное спасибо

Цитата
Нужно поставить галочку
Tools->Project settings->Allow Dynamic Arrrays и
Tools->Project settings->Directly represented array var,
или использовать в качестве входа созданый массив. Сам когда-то на это наткнулся.

san
Цитата(CoDa @ 4.6.2013, 8:41) *
(l: 13, c: 50) E1208 usage of dynamic arrays is disabled
Вот нашел тоже от тебя на другом форуме, огромное спасибо

Уже поправил. Если будут опечатки или непонятки, или синтаксис глаза режет - пишите, буду исправлять. А то вопросы частые, лучше один раз написать и всех туда отправлять, чем много раз писать одно и то же. :-)
CoDa
Огромадное пасибки, все заработало !!
CoDa
А в какие адреса писать данные что бы считать с контроллера?
пробовал в %MW0 и %MW100 читаю с контроллера - данных нет, точнее почему то не проходят команды с PC




Сори опять не разобрался, аксесс не включил smile.gif
san
Не понял вопроса. Если данные в М340 локализованные, то нужно искать их по этому адресу. СКАДА какая? Если какая-то чужая, то нужно читать/писать данные с Holding Regters, таблицу соответствия на приведенной страничке я приводил.
Константин Ж
Извиняюсь за смешной вопрос как записывать/считывать данные я понял, но каким образом присвоение самих данных происходит (для записи/чтения) в контроллере в котором нужно получить данные от другого контроллера TCP клиента (организую связь между двумя М340, нужно от одного передать информацию другому о состоянии процесса). Или все таки для двухстороннего обмена нужно в обоих контроллера прописывать чтение/запись?
san
Там (в сервере) данные нужно писать/читать в область %MW. Можно непосредственно, а можно привязать туда переменную. ОС Юнити уже сама организует запись/чтение в эту/(с этой) области с Модбас как к регистрам.
Константин Ж
Нет, с сервером обмен уже отстроен, меня не это интересует, мне нужен прямой обмен между двумя контроллерами на картинке программа, read_var, считываем булевые переменные из другого контроллера, вопрос как мне из массива remout_date (состоящего из интеджер) вытащить булевые
san
Обращаться к ним через точку. Еще вариант - привязать массив к %MW. А самый лучший вариант - считвать не %M а %MW, куда упаковывать все булы (можно просто отображать туда, например булевую переменную привязать скажем к %Mw200.0). Каждый бул в М340 занимает один байт, а запаковавши бит в слово, он займет только один бит. Экономия в 8 раз и гемора меньше, так как и булы и инты можно передавать в одной посылке.
Константин Ж
Спасибо, сделаем тогда так во избежание гемора
CoDa
Возник вот такой вопросик.
Отвалилось modbus\tcp устройство(проблема с устройством). Его (устройство) перегрузили. На контроллере связь не восстанавливается до перезагрузки контроллера. Кто с этим сталкивался. Как побороли данный косяк?
san
Цитата(CoDa @ 17.6.2013, 13:59) *
Возник вот такой вопросик.
Отвалилось modbus\tcp устройство(проблема с устройством). Его (устройство) перегрузили. На контроллере связь не восстанавливается до перезагрузки контроллера. Кто с этим сталкивался. Как побороли данный косяк?

Если работа идет через коммун. функцию, думаю поможет выставленный таймаут в параметрах функиции.
Константин Ж
Возможно ли запустить симуляторы ПЛК в юнити на разных компьютерах, при этом что бы они между собой запросы по TCP отрабатывали, так называемая симуляция двух контроллеров с возможностью обмена данными?
CoDa
Цитата(san @ 17.6.2013, 15:09) *
Если работа идет через коммун. функцию, думаю поможет выставленный таймаут в параметрах функиции.

Таймаут не помогает sad.gif
можно ли как нибудь сделать так сказать софт ресет контроллера?
san
Цитата(Константин Ж @ 17.6.2013, 14:21) *
Возможно ли запустить симуляторы ПЛК в юнити на разных компьютерах, при этом что бы они между собой запросы по TCP отрабатывали, так называемая симуляция двух контроллеров с возможностью обмена данными?
Нет, только со стороны сервера, клиентский должен быть аппаратный.


Цитата(CoDa @ 17.6.2013, 14:27) *
Таймаут не помогает sad.gif
можно ли как нибудь сделать так сказать софт ресет контроллера?

Не задумывался над этим. Надо поклупаться в IODDT для порта Ethernet. Поройте в хелпе.
tip42
Здравствуйте, есть вопрос. При обмене данными со скада системой используется 502 порт, настраивается как либо номер порта в модиконе м340, например 503 и т.д.?
ogorsv
Добрый день!

Нет, насколько я знаю, в самом М340 настраивается только параметры самого IP, Mask, Gateway и способы получения адреса (Static, DHCP, BOOTP)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.